//package com.bestcem.xm.common.core.oss.entity;
//
//import com.bestcem.xm.common.core.uitls.DateUtil;
//import lombok.Getter;
//import lombok.Setter;
//import lombok.ToString;
//
//import java.time.LocalDateTime;
//import java.time.ZoneId;
//import java.util.Date;
//import java.util.Objects;
//
//
///**
// * @author liheng
// * @version v1.0
// * @date 2021/7/28 16:51
// */
//@ToString(callSuper = true)
//@Getter
//@Setter
////@Document(collection = CollectionConstants.OSS_RECORD_COLLECTION_NAME)
//public class OssRecordEntity {
//
//    /**
//     * 主键id
//     */
////    @MongoId(targetType = FieldType.OBJECT_ID)
//    private String id;
//
//    /**
//     * oss访问url
//     */
//    // @Field(value = "url", targetType = FieldType.STRING)
//    private String url;
//
//    /**
//     * OSS中文件对应的key,{root_dir}/award/ds
//     */
//    // @Field(value = "oss_key", targetType = FieldType.STRING)
//    private String ossKey;
//
//    /**
//     * 文件名称,例如a.text
//     */
//    // @Field(value = "file_name", targetType = FieldType.STRING)
//    private String fileName;
//
//    /**
//     * 存放到OSS中的UUID
//     *
//     * @see java.util.UUID
//     */
//    // @Field(value = "OSS_UUID")
//    private String ossUUID;
//
//    /**
//     * 模块名称,例如
//     */
//    // @Field(value = "module_name", targetType = FieldType.STRING)
//    private String moduleName;
//
//    /**
//     * 是否是临时文件
//     */
//    // @Field(value = "is_temp", targetType = FieldType.BOOLEAN)
//    private boolean temp;
//
//    /**
//     * 过期时间
//     */
//    // @Field(value = "expire_date", targetType = FieldType.DATE_TIME)
//    private Date expireDate;
//
//    /**
//     * 文件存储在本机的绝对路径
//     */
//    // @Field(value = "local_dir", targetType = FieldType.STRING)
//    private String localDir;
//
//    /**
//     * 文件是否删除，默认未删除-false，删除-true
//     */
//    // @Field(value = "is_deleted", targetType = FieldType.BOOLEAN)
//    private boolean deleted;
//
//    /**
//     * 备注,用来备注文件是什么用途，例如：文本分析-原话导出
//     */
//    // @Field(value = "remark", targetType = FieldType.STRING)
//    private String remark;
//
//    /**
//     * oss类型
//     */
////    @Field(value = "oss_type", targetType = FieldType.STRING)
//    private String ossType;
//
//    /**
//     * 提交时间
//     */
//    // @Field(value = "created_dt", targetType = FieldType.DATE_TIME)
//    private Date createdDate;
//
//    // @Field(value = "update_dt", targetType = FieldType.DATE_TIME)
//    private Date updateDate;
//
//    public Date getExpireDate() {
//        if (Objects.nonNull(this.expireDate)) {
//            LocalDateTime localDateTime = this.expireDate.toInstant().atZone(DateUtil.SELECT_ZONE).toLocalDateTime();
//            return Date.from(localDateTime.atZone(ZoneId.systemDefault()).toInstant());
//        }
//        return null;
//    }
//
//    public Date getCreatedDate() {
//        if (Objects.nonNull(this.createdDate)) {
//            LocalDateTime localDateTime = this.createdDate.toInstant().atZone(DateUtil.SELECT_ZONE).toLocalDateTime();
//            return Date.from(localDateTime.atZone(ZoneId.systemDefault()).toInstant());
//        }
//        return null;
//    }
//
//    public Date getUpdateDate() {
//        if (Objects.nonNull(this.updateDate)) {
//            LocalDateTime localDateTime = this.updateDate.toInstant().atZone(DateUtil.SELECT_ZONE).toLocalDateTime();
//            return Date.from(localDateTime.atZone(ZoneId.systemDefault()).toInstant());
//        }
//        return null;
//    }
//}
